package com.winchain.chainbill.basic.activity.controller;

import com.shell.bee.base.annotation.Logging;
import com.shell.bee.base.utils.StringUtil;
import com.shell.bee.entity.mvc.RetMsg;
import com.shell.bee.mvc.controller.BaseController;
import com.shell.bee.persistence.model.PageLimit;
import com.shell.framework.utils.CommonDataUtil;
import com.winchain.chainbill.basic.activity.po.BasAct;
import com.winchain.chainbill.basic.activity.service.BasActService;
import com.winchain.chainbill.basic.activity.vo.BasActVo;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class BasActController extends BaseController {
	@Autowired
	BasActService basActService;

	@RequestMapping
	@ResponseBody
	@Logging(module = "��������", methods = "������������")
	public List<BasAct> findBasAct(BasActVo basActVo, PageLimit limit) {
		return this.basActService.findBasAct(limit, basActVo);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "��������", methods = "����")
	public RetMsg editBasAct(BasAct basAct, String grpIds) {
		if (StringUtil.emptyAndNull(grpIds)) {
			return initRetMsg("error", "��������");
		}
		String[] grpIdArr = grpIds.split(",");
		this.basActService.editBasAct(basAct, grpIdArr);
		return initRetMsg("success", "��������");
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "��������", methods = "����")
	public BasActVo detail(String actId) {
		return this.basActService.detail(actId);
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "��������", methods = "��������")
	public RetMsg paused(String actId) {
		this.basActService.paused(actId);
		return initRetMsg("success", "��������");
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "��������", methods = "��������")
	public RetMsg restart(String actId) {
		this.basActService.restart(actId);
		return initRetMsg("success", "��������");
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "��������", methods = "��������")
	public RetMsg delete(String actId) {
		this.basActService.delete(actId);
		return initRetMsg("success", "��������");
	}

	@RequestMapping
	@ResponseBody
	@Logging(module = "��������", methods = "��������������������")
	public List<BasActVo> getCurrentActs() {
		String cusId = CommonDataUtil.getCurEntId();
		return this.basActService.getCurrentActs(cusId);
	}
}
